An automatic code generator varies according to a type of software to be developed. Here, software types are classified according to the role of the software. For example, software that stores and manages data is a data manager software type, and software that converts a data value received from a data sender into another data value according to a data transformation rule is a data converter software type.
Also, software that transmits data received from a data sender to a data receiver according to a data distribution rule is a data distributor software type, software that manages a state of a system is a controller software type, and software that reads and shows data to a user as an interface between the user and a system is a monitor software type.
When software type-specific automatic code generators are defined and developed, several pieces of software of different software types can be developed using automatic code generators of the corresponding software types.
Also, when software needs to be developed using an automatic code generator, if there is an existing automatic code generator of the same software type as the software to be developed, the existing automatic code generator can be modified and reused.
However, existing single or product line-based software development methods using an automatic code generator all assume one type of automatic code generator. Thus, in the existing methods, it is difficult to develop several pieces of software of different software types using an automatic code generator.
In addition, when software needs to be developed using an automatic code generator, if there is existing automatic code, it is difficult to determine whether the existing automatic code generator can be reused for development of the software to be developed.